Skip to content

refactor: normalize appstore JSON with catalog-centric structure - #155

Merged
maxandersen merged 1 commit into
jbangdev:mainfrom
maxandersen:normalize-appstore-json
May 10, 2026
Merged

maxandersen merged 1 commit into
jbangdev:mainfrom
maxandersen:normalize-appstore-json

Conversation

@maxandersen

Copy link
Copy Markdown
Contributor

Group data by catalog (repo) instead of flat alias lists with repeated repo info. Each catalog entry contains repo metadata (owner, name, stars, icon, link) with aliases and templates as children.

Size reduction:

  • 532KB → 314KB pretty-printed (41% smaller)
  • 445KB → 236KB minified (47% smaller)
  • 55KB → 50KB gzipped (9% smaller over the wire)

Structure (before):

{ "aliases": [{ "stars": 11335, "icon_url": "...", "repoOwner": "apple", "repoName": "pkl", ... }, ...] }

Structure (after):

{ "catalogs": [{ "owner": "apple", "name": "pkl", "stars": 11335, "icon": "...", "aliases": [{"a": "pkl", "c": "pkl@apple/pkl", ...}], "templates": [] }] }

Updated .github/appstore.java generator and content/appstore.html frontend.

@github-actions

github-actions Bot commented May 10, 2026 •

Copy link
Copy Markdown

🙈 The PR is closed and the preview is expired.

Group data by catalog (repo) instead of flat alias lists with
repeated repo info. Each catalog entry contains repo metadata
(owner, name, stars, icon, link) with aliases and templates as
children. Drop redundant fullcommand field (always 'jbang ' + command).

- 532KB → 269KB pretty-printed (49% smaller)
- 445KB → 195KB minified (56% smaller)
- 55KB → 45KB gzipped (18% smaller over the wire)
@maxandersen
maxandersen force-pushed the normalize-appstore-json branch from 268a6e5 to aa01c89 Compare May 10, 2026 22:55
@maxandersen
maxandersen merged commit 5a748f6 into jbangdev:main May 10, 2026
3 checks passed
@maxandersen
maxandersen deleted the normalize-appstore-json branch May 10, 2026 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant